Systems and methods of predicting architectural materials within a space

ABSTRACT

A system, apparatus, and/or method is disclosed for designing a real-world space. For example, image data for an image of the space may be received. The image data may comprise a surface that is modifiable via an architectural material. Measuring rules for determining estimated real-world dimensions of the surface of the space may be executed. The measuring rules may be based on the received image data of the space. The estimated dimensions may comprise a length, width, and/or height of the surface of the space. A type and/or quantity of the architectural material for modifying the surface of the space may be determined based on the estimated dimensions of the surface of the space. A modified image of the space may be displayed in which the surface of the space is modified with the architectural material. The determined type and/or quantity of the architectural material may be displayed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/834,223, filed on Apr. 15, 2019. The disclosure of the aboveapplication is incorporated herein by reference.

BACKGROUND

An owner of a space (e.g., a room) may desire to improve the look of thespace with architectural materials, such as by adding new architecturalmaterials to a floor, wall, ceiling, etc. Designing, or redesigning, aspace in such a manner often involves taking physical measurements ofthe space and selecting materials from many available options. Forexample, when designing a space, the owner is faced with deciding on theon type of architectural material to use for the space, the color of thearchitectural material to be used, and the placement of thearchitectural material. Such decisions may be impacted by the dimensionsof the space and/or budgetary reasons. Although the owner may be awareof her budget, she may not initially be aware of dimensions of the spaceand the cost of the design.

When beginning the design or redesign of the space, the owner is oftenleft overwhelmed by the choices available, which may result in the ownerbeing unable to decide on the design or redesign. Alternatively, uponcompletion of the design or redesign the owner may realize that thechosen architectural materials is undesired. This may leave the ownerdispleased, due to the cost and time often required for a design orredesign. Accordingly, improved systems and methods are desired forautomatically measuring the dimensions of a room, as well as forchoosing the type, color, and placement of architectural materials forthe design or redesign. Further, improved systems and methods forcalculating architectural materials quantity and/or a cost is desired.Such systems and methods, as well as others, are described herein.

SUMMARY

A system, apparatus, and/or method is disclosed for designing a space(e.g., a space in the real-world, such as a room). For example, imagedata for an image of the space may be received. The image data maycomprise a surface that is modifiable via one or more architecturalmaterials (e.g., a coverable element), a surface that is not modifiablevia one or more of the architectural materials (e.g., a non-coverableelement), and/or an element that may conceal a coverable element and/ora non-coverable element. Measuring rules for determining estimateddimensions (e.g., real-world dimensions) of the surface of the space maybe executed. The measuring rules may be based on the received image dataof the space. The estimated dimensions may comprise a length, width,and/or height of the surface of the space. A type and/or quantity of thearchitectural material for modifying the surface of the space may bedetermined based on the estimated dimensions of the surface of thespace. A modified image of the space may be displayed in which thesurface of the space is modified with the architectural material. Thedetermined type and/or quantity of the architectural material may bedisplayed.

In an aspect, prior image data of other spaces may be received thatcomprises other surfaces modifiable via architectural materials. Actualdimensions of the surfaces may be received. The measuring rules of thesurface may be generated, for example, by modifying initial measurementrules based on estimated dimensions of the surfaces and the actualdimensions of the surfaces.

In an aspect, the initial measuring rules may be generated based on arelationship between the estimated dimensions and the actual dimensionsof the surfaces. The initial measuring rules may be generated based on adifference between the prior estimated dimensions and the actualdimensions of the surfaces.

In an aspect, prior image data of other spaces may be received, forexample, which comprises other surfaces modifiable via architecturalmaterials. Initial measuring rules for determining estimated dimensionsof the surfaces may be executed based on the prior image data. Actualdimensions of the surfaces may be received. The measuring rules may begenerated by modifying the initial measurement rules based on theestimated dimensions of the surfaces and the actual dimensions of thesurfaces.

In an aspect, the received image data of the space may be derived from atwo-dimensional image, a three-dimension image, etc. In an aspect, theestimated dimensions of the surface of the space may be based on areference object being placed in the space. The reference object mayhave a known size and/or may provide a spatial perspective to the imagedata. In an aspect, the estimated dimensions of the surface of the spacemay be based on a user's annotation of the space.

In an aspect, an estimated reverberation time within the space may bedetermined, for example, based on the estimated dimensions of thesurface of the space. An actual reverberation time within the space maybe determined. Actual dimensions of the surface of the space may bedetermined based on the estimated reverberation time and the actualreverberation time.

In an aspect, the architectural material may be a flooring material. Thetype of the architectural material may be based on a selected typeselected by a user

In an aspect, a pixel-to-length ratio of pixels disposed within theimage data of the space may be determined. The estimated dimensions ofthe surface of the space may be determined based on the pixel-to-lengthratio.

In an aspect, a calculated cost of the type and the quantity of thearchitectural material may be determined. The calculated cost may bedisplayed. In an aspect, a modified image of the space may comprise thedetermined type and/or quantity of the architectural material beingpresented upon the surface of the space.

In an aspect, differentiation rules for differentiating elements of thespace may be executed. The elements may comprise a floor, wall, and/orceiling of the space.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will become more fully understood from thedetailed description and the accompanying drawings, wherein:

FIG. 1 is a block diagram of an example system including a user device;

FIG. 2 is a block diagram of an example system including a materialsmodelling device;

FIG. 3 is an image of an example space (e.g., room) in which a design orredesign may be desired;

FIG. 4 is an example annotation of the space as shown on FIG. 3;

FIG. 5 is an example discrimination of surfaces of the space as shown inFIGS. 3 and 4;

FIG. 6 is an example display of the space of FIG. 3, in which the spaceincludes recommended architectural materials;

FIG. 7 is an example of an image of another space in which a design orredesign may be desired;

FIGS. 8A, 8B are example annotations of the room as shown on FIG. 7;

FIG. 9 is an example of an image of a surface of another space in whicha design or redesign may be desired;

FIGS. 10A, 10B are example annotations of the room as shown on FIG. 9;and

FIG. 11 is an example method of determining architectural materials fora design or redesign, as described herein.

DETAILED DESCRIPTION

The following description of the preferred embodiment(s) is merelyexemplary in nature and is in no way intended to limit the invention orinventions. The description of illustrative embodiments is intended tobe read in connection with the accompanying drawings, which are to beconsidered part of the entire written description. In the description ofthe exemplary embodiments disclosed herein, any reference to directionor orientation is merely intended for convenience of description and isnot intended in any way to limit the scope of the present invention. Thediscussion herein describes and illustrates some possible non-limitingcombinations of features that may exist alone or in other combinationsof features. Furthermore, as used herein, the term “or” is to beinterpreted as a logical operator that results in true whenever one ormore of its operands are true. Furthermore, as used herein, the phrase“based on” is to be interpreted as meaning “based at least in part on,”and therefore is not limited to an interpretation of “based entirelyon.”

As used throughout, ranges are used as shorthand for describing each andevery value that is within the range. Any value within the range can beselected as the terminus of the range. In addition, all references citedherein are hereby incorporated by referenced in their entireties. In theevent of a conflict in a definition in the present disclosure and thatof a cited reference, the present disclosure controls.

Features of the present invention may be implemented in software,hardware, firmware, or combinations thereof. The computer programsdescribed herein are not limited to any particular embodiment, and maybe implemented in an operating system, application program, foregroundor background processes, driver, or any combination thereof. Thecomputer programs may be executed on a single computer or serverprocessor or multiple computer or server processors.

Processors described herein may be any central processing unit (CPU),microprocessor, micro-controller, computational, or programmable deviceor circuit configured for executing computer program instructions (e.g.,code). Various processors may be embodied in computer and/or serverhardware of any suitable type (e.g., desktop, laptop, notebook, tablets,cellular phones, etc.) and may include all the usual ancillarycomponents necessary to form a functional data processing deviceincluding without limitation a bus, software and data storage such asvolatile and non-volatile memory, input/output devices, graphical userinterfaces (GUIs), removable data storage, and wired and/or wirelesscommunication interface devices including Wi-Fi, Bluetooth, LAN, etc.

Computer-executable instructions or programs (e.g., software or code)and data described herein may be programmed into and tangibly embodiedin a non-transitory computer-readable medium that is accessible to andretrievable by a respective processor as described herein whichconfigures and directs the processor to perform the desired functionsand processes by executing the instructions encoded in the medium. Adevice embodying a programmable processor configured to suchnon-transitory computer-executable instructions or programs may bereferred to as a “programmable device”, or “device”, and multipleprogrammable devices in mutual communication may be referred to as a“programmable system.” It should be noted that non-transitory“computer-readable medium” as described herein may include, withoutlimitation, any suitable volatile or non-volatile memory includingrandom access memory (RAM) and various types thereof, read-only memory(ROM) and various types thereof, USB flash memory, and magnetic oroptical data storage devices (e.g., internal/external hard disks, floppydiscs, magnetic tape CD-ROM, DVD-ROM, optical disk, ZIP™ drive, Blu-raydisk, and others), which may be written to and/or read by a processoroperably connected to the medium.

In certain embodiments, the present invention may be embodied in theform of computer-implemented processes and apparatuses such asprocessor-based data processing and communication systems or computersystems for practicing those processes. The present invention may alsobe embodied in the form of software or computer program code embodied ina non-transitory computer-readable storage medium, which when loadedinto and executed by the data processing and communications systems orcomputer systems, the computer program code segments configure theprocessor to create specific logic circuits configured for implementingthe processes.

FIG. 1 is a block diagram of an example system 100 for calculating thedimensions of a space and/or for receiving information relating topredicted architectural materials of a space. The space may be a spacein the real-world, such as a real-world room (e.g., basement, familyroom, conference room, classroom, etc.). The dimensions may bedimensions in the real-world, such as dimensions of a space in thereal-world. The dimensions may be an area, a volume, a distance, etc.The dimensions may be in feet, inches, meters, centimeters, etc.

System 100 includes a user device 102 configured to connect to amaterials modelling device 202 (further described in FIG. 2) via anetwork 120. Network 120 may include wired and/or wireless communicationnetworks. For example, networks 120 may include a local area network(LAN), a metropolitan area network (MAN), and/or a wide area network(WAN). Network 120 may facilitate a connection to the Internet. Toprovide further examples, network 120 may include wired telephone andcable hardware, satellite, cellular phone communication networks, etc.

User device 102 may include a user interface 104, a memory 106, acentral processing unit (CPU) 108, a graphics processing unit (GPU) 110,an image capturing device 114, and/or a display 112. User device 102 maybe implemented as a user equipment (UE) such as a mobile device, acomputer, laptop, tablet, desktop, or any other suitable type ofcomputing device.

User interface 104 may allow a user to interact with user device 102.For example, user interface 104 may include a user-input device such asan interactive portion of display 112 (e.g., a “soft” keyboard displayedon display 112), an external hardware keyboard configured to communicatewith user device 104 via a wired or a wireless connection (e.g., aBluetooth keyboard), an external mouse, or any other user-input device.

Memory 106 may store instructions executable on the CPU 108 and/or theGPU 110. The instructions may include machine readable instructionsthat, when executed by CPU 108 and/or GPU 110, cause the CPU 108 and/orGPU 110 to perform various acts. Memory 106 may store instructions thatwhen executed by CPU 108 and/or GPU 110 cause CPU 108 and/or GPU 110 toenable user interface 104 to interact with a user. For example,executable instructions may enable user interface to display (viaDisplay 112) one or more prompts to a user, and/or accept user input.Instructions stored in memory 106 may enable a user to select a lengthmeasurement within an image. For example, a user may utilize userinterface 104 to specify a length selection by selecting two pointswithin the image that denote a desired measurement length. In otherexamples, a user may utilize user interface 104 to click, hold, or draga cursor to define a desired measurement length.

CPU 108 and/or GPU 110 may be configured to communicate with memory 106to store to and read data from memory 106. For example, memory 106 maybe a computer-readable non-transitory storage device that may includeany combination of volatile (e.g., random access memory (RAM)) ornon-volatile (e.g., battery-backed RAM, FLASH, etc.) memory.

Image capturing device 114 may be configured to capture an image. Theimage may be a two-dimensional image, a three-dimensional image, etc.Image capturing device 114 may be configured to capture an image in adigital format having a number of pixels. Although image capturingdevice 114 is illustrated in FIG. 1 as internal to user device 102, inother examples image capturing device 114 may be internal and/orexternal to user device 102. In an example, image capturing device 114may be implemented as a camera coupled to user device 102. Imagecapturing device 114 may be implemented as a webcam coupled to userdevice 102 and configured to communicate with user device 102. Imagecapturing device 114 may be implemented as a digital camera configuredto transfer digital images to user device 102 and/or to materialsmodelling device 202. Such transfers may occur via a cable, a wirelesstransmission, network 120/220, and/or a physical memory card devicetransfer (e.g., SD Card, Flash card, etc.), for example.

User device 102 may be used to obtain information about one or morespaces (e.g., rooms) to be designed or redesigned. For example, a user(of user device 102) may desire to renovate a floor, wall, ceiling,etc., of a space. The user may desire to obtain information about therenovation, such as one or more dimensions of the space to be renovated,a predicted cost of the renovation, a predicted quantity of the material(e.g., architectural material) to be used for the renovation, thepredicted dimensions of the material to be used for the renovation, apredicted display of the space with the desired renovation, etc.

The user may take one or more images of the room to determineinformation about the space and/or a renovation of the space. The imageof the space may be taken via image capturing device 114 of user device102. The user may take a single image of the space, or the user may takemultiple images of the space (e.g., to capture different angles of thespace).

The image of the space may be transmitted to materials modelling device202 (further described with reference to FIG. 2). However, in examplesall or some of the functions performed within a particular device may beperformed by one or more of devices. For example, user device 102 mayinclude architectural materials engine 230 in examples. In otherexamples, materials modelling device 202 may be external to user device102.

In examples in which materials modelling device 202 is separate fromuser device 102, user device 102 may communicate with materialsmodelling device 202 via one or more wired and/or wireless techniques,as described herein. For example, as shown on FIG. 1, user device 102may communicate with materials modelling device 202 via network 120.Network may be the Internet, in some examples. In other examples, asdescribed herein, network 120 may be Wi-Fi, Bluetooth, LAN, etc.

User may take an image (e.g., a digital image) of a space (e.g., a room)and transfer the image to the materials modelling device 202. The imagemay relate to a space that the user desires to renovate (e.g., design orredesign). The user may also, or alternatively, provide informationrelated to the image for the design/redesign. For example, the user mayinput the desired (e.g., potentially desired) renovations to occurwithin the room. The user may input that the desired design or redesignrelates to replacing the ceiling of a room, the walls of the room, thefloor of the room, etc. In some examples the user may input noadditional details of the renovation. In other examples the user mayinput some (or all) ideas for the potential renovations. The user mayinput into the user device 102 one or more desired renovation ideas. Thedesired renovation ideas may be transferred to the materials modellingdevice 202, as shown on FIG. 1.

With the materials modelling device 202 having the image of the spaceand the desired renovation ideas of the space, the materials modellingdevice 202 may return information about the renovation. For example, thematerials modelling device 202 may provide the dimensions of the space,architectural materials proposed to be used for the space, reverberationtimes of the space, and/or an image of the space with a recommendeddesign or redesign of the space.

The materials modelling device 202 may also, or alternatively, returninformation about the architectural materials used in a potential designor redesign. For example, materials modelling device 202 may provide apredicted cost of the design/redesign, a predicted quantity of thematerial (e.g., architectural material) to be used for thedesign/redesign, and/or the predicted dimensions of the material to beused for the design/redesign. The materials modelling device 202 mayprovide the information to user device 102, which may provide theinformation to a user of user device 102. The information provided tothe user via the user device 102 may be used by the user to select thearchitectural materials to be used in the space, including the type ofthe architectural materials to be used, the cost of the architecturalmaterials to be used, the placement of the architectural materials, etc.

FIG. 2 shows an example system 200 of training architectural materialsengine 230 of materials modelling device 202. As shown on FIG. 2,training device 250 may communicate with materials modelling device 202.For example, training device 250 may communicate with materialsmodelling device 202 via network 220. Training device 250 may provideimages to the materials modelling device 202, for example, to train thearchitectural materials engine 230 of materials modelling device 202, asdescribed herein.

Training device 250 may provide an image of a space to materialsmodelling device 202, as well as information (e.g., actual, augmented,and/or estimated information) relating to image of the space, such asactual dimensions of the space within the image, architectural materialsactually used for the space within the image, locations and/ordescriptions of furniture, decoration(s), or other elements (e.g.,windows, fireplaces, lights) within the space, annotations (e.g.,descriptions and/or identifications) of elements (e.g., walls, floors,ceiling) of the space, identification of reference objects locatedwithin the space, reverberation times within the space, augmentedmeasurements of one or more portions of the space, etc.

The accompanying information of the space may be based on actualinformation, such as the information (e.g., dimensions, reverberationtimes, locations, etc.) being actually measured within the space, thearchitectural materials being actually installed, and/or the cost of thearchitectural materials being actually computed. In addition, oralternatively, the accompanying information of the space may be based onaugmented information, such as the information (e.g., dimensions,reverberation times, locations, etc.) being measured using augmented(e.g., computer generated) methods. For example, an augmented realitytoolkit (e.g., iOS's Measure application, Google's AR Ruler application,etc.) may be used to digitally measure one or more portions of the room.Providing the additional information (e.g., the actual informationand/or augmented information) to the architectural materials engine 230may be used to train the model, using machine learning techniques, asdescribed herein.

As shown on FIG. 2, materials modelling device 202 may include a CPU208, memory 206, GPU 210, interface 216, and architectural materialsengine 230. Memory 206 may be configured to store instructionsexecutable on the CPU 208 and/or the GPU 210. The instructions mayinclude machine readable instructions that, when executed by CPU 208and/or GPU 210, cause the CPU 208 and/or GPU 210 to perform variousacts. CPU 208 and/or GPU 210 may be configured to communicate withmemory 206 to store to and read data from memory 206. For example,memory 206 may be a computer-readable non-transitory storage device thatmay include any combination of volatile (e.g., random access memory(RAM), or a non-volatile memory (e.g., battery-backed RAM, FLASH, etc.)memory.

Interface 216 may be configured to interface with one or more devicesinternal or external to materials modelling device 202. For example,interface 216 may be configured to interface with training device 250and/or architectural materials database 224. Architectural materialsdatabase 224 may store information about spaces, such as images ofspaces, dimensions of the spaces, architectural materials (e.g.,architectural materials used in a room, including the type, quantity,cost, location, etc.), elements (e.g., floors, walls, ceilings, windows,doors, televisions) within a space, furniture found within the space,decorations found within the space, etc. The information stored withinarchitectural materials database 224 may be used to train thearchitectural materials engine 230. The information stored withinarchitectural materials database 224 may also, or alternatively, bereferenced by architectural materials engine 230 for determining (e.g.,predicting) information about a space.

Architectural materials database 224 may store images of the spacebefore the space has been renovated, during renovation of the space, andafter completion of the renovation. Information relating to thearchitectural materials may be provided based on the stage of therenovation. For example, the type, quantity, cost, location, etc. of thearchitectural materials may be stored in the architectural materialsdatabase 224 based on the stage of the renovation (e.g., before, during,and post renovation).

Materials modelling device 202 may receive one or more images of a spacevia training device 250 and/or another device (e.g., camera 222). Forexample, training device 250 may provide images of one or more spaces tothe materials modelling device 202. The images may be of many differentspaces. For example, the images may be of many different family rooms,dining rooms, basements, kitchens, conference rooms, hotel rooms,lobbies, etc. The images provided to materials modelling device 202 maybe of a same space. For example, the images of a single room, during oneor more renovations, may be provided to materials modelling device 202.As described herein, additional information may be provided to materialsmodelling device 202 for each image provided to the materials modellingdevice 202. For example, for an (e.g., each) image provided, thematerials modelling device 202 may receive actual dimensions of thespace, actual quantities of architectural materials used, actual costsof quantities used, and actual post-renovation images of the space.

Materials modelling device 202 may use machine learning techniques todevelop a software application (e.g., a model). For example,architectural materials engine 230 may include a model (e.g., a machinelearning model) to determine (e.g., predict) information regarding aspace. The information provided to and/or by the model may includedimensions of a space, reverberation times within a space, and/orarchitectural material information (e.g., type, placement, etc.), basedon an image of the space. A dimension (e.g., distance) may be determinedusing pixel-to-length ratio techniques. For example, a length of a wallin an image may be determined (e.g., estimated) by determining thepixel-to-length ratio of the length of the wall. Machine learning rulesmay use pixel-to-length ratio techniques when estimating dimensions of aspace, for example.

The information provided to and/or by the model may also, oralternatively, include the locations and/or identifications of referenceobjects within a space. The reference objects may be used to determinedimensions within an image. For example, the size of a reference objectmay be known. By comparing distances of elements within the image withthe (known) size of the reference object, the dimensions of the elementswithin the room may be determined.

In examples, the information provided to the model may include factorsthat differentiate an element of a room with another element of theroom. For example, the information may include a factor (such as avertical corner, recessed lights, windows, furniture attributes) thatcan be used to differentiate a wall and a floor, a wall and a ceiling, apiece of furniture with a wall/floor, etc.

The model may improve its ability to perform a task as it analyzes moredata related to the task. The task may be to predict an unknownattribute or quantity from known information. For example, the task maybe to predict the dimensions of a room based on an image of the room. Insuch an example, the more images (and information related to each of theimages) provided to the model, the better the results from the modelwill be. For example, the model may provide more accurate determinationsof dimensions of the space based on the model receiving numerous imagesof the space and information related to the dimensions of the space.

As described herein, the machine learning model may be trained using aset of training examples. Each training example may include an exampleof an object, along with a value for the otherwise unknown property ofthe object. By processing a set of training examples that include theobject and/or the property value for the object, the model may learnwhat attributes or characteristics of the object that are associatedwith a particular property value. This learning may then be used topredict the property or to predict a classification for other objects.As described herein machine learning techniques (e.g., rules,algorithms, etc.) may be used to develop models of various spaces.

For example, machine learning rules may be used to determine (e.g.,develop or predict) dimensions of spaces, to determine reverberationtimes within a space, to determine a presence, type, size, and/orlocation of a reference object within the space, and/or to determinearchitectural materials used within the spaces. The machine learningrules may use one or more images of the space, as well as one or moreother images (and information relating to the other images) to determinethe above. The machine learning rules may identify and/or classifyobjects in the space as a person, furniture, a window, a door, or anarchitectural material.

For example, models may be developed to receive an image of a space todetermine (e.g., predict) information of the space. Training examples(e.g., training sets or training data) may be used to train thearchitectural materials engine 230 and may include images of one or morespaces, as well as the information described herein regarding the space.For example, the training data may include the dimensions of the space,the architectural materials used in the space, the physical location ofa space, a time of day, a date, a reverberation time of the space,information relating to a reference object within the space, aclassification of the space (e.g., cluttered, empty, family room,conference room, etc.). After training the architectural materialsengine 230 (e.g., the machine learning model of architectural materialsengine 230) using the training data, the architectural materials engine230 may be used to predict parameters having similar characteristics asprovided in the training data. For example, if architectural materialsengine 230 is provided with data sets of an image of a space and defineddimensions of the space, the architectural materials engine 230 maylater determine unknown dimensions of a space if given an image of aspace (e.g., the same space or a different space).

As described herein, the space in which information (e.g., dimensions ofthe space, architectural materials used in the space, reverberationtime, etc.) is unknown may be the same as the space in which one or moreimages are provided to architectural materials engine 230 to train thearchitectural materials engine 230 (e.g., the model of architecturalmaterials engine 230). In other examples, the space in which information(e.g., dimensions of the space, architectural materials used in thespace, reverberation time, etc.) is unknown may be different than thespace in which one or more images are provided to architecturalmaterials engine 230 to train the architectural materials engine 230(e.g., the model of architectural materials engine 230). For example, auser may desire to renovate a family room. The user may desire todetermine the dimensions, architectural materials to be used,reverberation time, etc. of the family room. In examples thearchitectural materials engine 230 may have received (e.g., previouslyreceived) images of the family room to train the architectural materialsengine 230. In other examples the architectural materials engine 230 maynot have received (e.g., previously received) images of the family roomto train the architectural materials engine 230. In one or more of theexamples described above, images of other spaces may have been providedto the architectural materials engine 230 to train the architecturalmaterials engine 230. Additional images of spaces may be provided to thearchitectural materials engine 230, for example, to improve the accuracyof the machine learning rules. To train (e.g., continually train) thearchitectural materials engine 230, a user may provide actualinformation and/or estimated information (e.g., estimated dimensions) ofthe space that relate to the images. For example, when training thearchitectural materials engine 230 the user may provide an image andestimated information of the space within the image. The estimatedinformation may be in place of, or to supplement, actual informationused to train the model.

The images included in the training data may be selected and/or inputinto the model of architectural materials engine 230 based on aparticular category. For example, a category of the space (e.g., familyroom, conference room, basement, etc.) may be selected and/or input intothe model as the images of the space are input into the architecturalmaterials engine 230. Properties, such as empty, cluttered, windowless,etc., may be input into the training model to further classify theimages. Known values input into the architectural materials engine 230(e.g., for training purposes) may be based on experimentation,simulation, analysis, and/or assumptions regarding the property beingmodeled. For example, actual (e.g. actually measured) dimensions of thespaces may be input into the model as images of the spaces are inputinto the model, actual reverberation times may be input into the modelas images of the spaces are input into the model, assumed dimensions ofthe spaces may be input into the model as images of the spaces are inputinto the model, etc.

A training set (e.g., previous images and information relating to theimage) may be used to train architectural materials engine 230. Thearchitectural materials engine 230 (e.g., model) may perform a selectedmachine learning rule or algorithm using the training set, as describedherein. Once trained, the model may be used to generate a predictionabout the image, relative to the property of interest. For example,based on an image the model may be configured to predict the dimensionsof a room, quantity of a material used in the room, etc. In an example,the dimensions of the room may be the property of interest. When animage is supplied to the trained model, the output may comprise aprediction regarding the dimensions of the room being modeled for theimage. The predictions may take the form of a value from a continuousrange of values or from a discrete value, for example.

System 100 and/or system 200 may be implemented using any availablecomputer system and adaptations contemplated for known and laterdeveloped computing platforms and hardware. Further, the methodsdescribed herein may be carried out by software applications configuredto execute on computer systems ranging from single-user workstations,client server networks, large distributed systems employing peer-to-peertechniques, or clustered grid systems. In an example, a high-speedcomputing cluster may be used. The computer systems used to practice themethods described herein may be geographically dispersed across local ornational boundaries using a data communications network such as theInternet. Moreover, predictions generated by the architectural materialsengine 230 at one location may be transported to other locations usingwell known data storage and transmission techniques, and predictions maybe verified experimentally at the other locations.

The architectural materials engine 230 may include currently knownand/or later developed machine learning rules or algorithms. Forexample, the architectural materials engine 230 may include at least oneof Boosting, a variant of Boosting, Alternating Decision Trees, SupportVector Machines, the Perceptron algorithm, Winnow, the Hedge Algorithm,an algorithm constructing a linear combination of features or datapoints, Decision Trees, Neural Networks, logistic regression, Bayesnets, log linear models, Perceptron-like algorithms, Gaussian processes,Bayesian techniques, probabilistic modeling techniques, regressiontrees, ranking algorithms, Kernel Methods, Margin based algorithms, orlinear, quadratic, convex, conic or semi-definite programming techniquesor any modifications of the foregoing.

FIG. 3 is an image of an example space 300. A user may desire to performa design or redesign (e.g., renovation) of the space 300. For example, auser may desire to renovate the ceiling 302, floor 306, wall 310,fixture, etc. of space 300. The user may desire to obtain dimensions ofthe space 300 and/or a reverberation time of space, for example, toperform a renovation of the space 300. The user may desire to obtaindimensions of the space 300 so that the quantity and/or cost ofarchitectural materials may be determined. The quantity and/or cost ofarchitectural materials may be displayed, for example, via display 112after dimensions of the space are determined.

The dimensions of the space may be determined via predicted (e.g.,estimated) reverberation times. For example, information relating aknown reverberation time of an image of a space with a known dimensionof the image of the space may be provided to the architectural materialsengine. The user may provide an image to the architectural materialsengine, and the architectural materials engine may provide a predictedreverberation time of the space within the image. In other examples, adimension of space may be predicted based on a reverberation time. Forexample, the estimated reverberation time may be provided to thearchitectural materials engine to determine an estimated dimension ofthe space.

As described herein, the user may take a picture of a space using userdevice 102 (shown on FIG. 1), or another device (e.g., a camera). Theuser may provide the image to materials modelling device 202 (e.g.,architectural materials engine 230 of materials modelling device 202),so that the dimensions of the space can be determined and/or thearchitectural material information (e.g., type of architecturalmaterial, quantity of architectural material, cost of architecturalmaterial, etc. may be determined).

The architectural materials engine 230 may determine the dimensions ofthe space and/or the reverberation time of the space 300, as describedherein. For example, the architectural materials engine 230 may usemachine learning to determine the dimensions of the space 300, thereverberation time of the space 300, and/or architectural materialswithin space 300, based on the image. The architectural materials engine230 may differentiate one or more elements (e.g., wall, ceiling,fixture, window) of a space within an image from one or more otherelements of the space. For example, the architectural materials engine230 may identify a window or door. The architectural materials engine230 may differentiate the window/door from a wall. The architecturalmaterials engine 230 may differentiate a fixture from a window/doorand/or from one or more other fixtures.

The architectural materials engine 230 may differentiate elements of aspace according to one or more categories. For example, thearchitectural materials engine 230 may identify and/or categorizeelements as coverable elements, non-coverable elements, concealingelements, etc. A coverable element may be an element that is intended tobe covered by an architectural material. For example, a wall within aroom may be a coverable element if the wall is desired to be coveredwith an architectural material. A non-coverable element may be anelement that is intended not to be covered by an architectural material.For example, a door within a room may be a non-coverable element if thewall is desired to be covered with an architectural material but thedoor is desired not to be covered with the architectural material. Aconcealing element may be an element that conceals another element. Forexample, the concealing element may conceal a coverable element, anon-coverable element, and/or another concealing element. A personwithin a room (e.g., an image of the room) may be concealing element insome examples and a non-coverable element other examples.

As those of skill in the art will understand, the dimensions of thecoverable elements may be related (e.g., directly related) to the amountof architectural material used for a design or redesign. For example, ifa wall is to be covered with an architectural material, the wall will bethe coverable element. It is the dimensions of the wall that will relateto the quantity and/or cost of the architectural material used forcovering the wall. If a door and/or window is found on the wall, thedoor and/or window may be non-coverable elements (if it is desired thatthe door and/or window are not to be covered). As a result, thedimensions of the door and/or windows will not relate to the quantityand/or cost of the architectural material used for covering the wall.Along those same lines, if a concealing element is positioned in frontof a coverable element (e.g., in front of a coverable element within animage), the dimensions of the concealing element that is in front of thecoverable element will relate to the quantity and/or cost of thearchitectural material used for covering the wall. In contrast, if aconcealing element is positioned in front of a non-coverable element(e.g., in front of a non-coverable element within an image, such as awindow), the dimensions of the concealing element that is in front ofthe non-coverable element will not relate to the quantity and/or cost ofthe architectural material used for covering the wall.

As described herein, for the architectural materials engine 230 todetermine the dimensions of the space 300, differentiations of elementswithin a space, and/or architectural materials within a space, machinelearning rules may utilize previously submitted images of space in whichactual dimensions of the space, differentiations of the space, and/orarchitectural materials of the room were also provided to thearchitectural materials engine 230. In an example, materials modelingdevice 202 may use the dimensions of the space 300 and knowncharacteristics of the architectural materials (such as the price of thearchitectural materials for the determined dimensions) to provide thecost of the renovation.

Space 300 may be empty when the image is taken, or the space 300 maycontain one or more items. For example, as shown on FIG. 3, the space300 may include objects that are not related to the renovation, such ascouch 308, window 312, box 304, etc. To determine the dimensions of aspace, the architectural materials engine 230 may differentiate betweenelements in the space that are related to the renovation (e.g.,coverable element, such as ceiling 302) and elements in the space thatare unrelated to the renovation (e.g. concealable element, such as couch308). By distinguishing between coverable elements, non-coverableelements, and concealable elements, accurate dimension calculations maybe made.

FIG. 4 shows an example image 400 of space 300, in which elements of thespace are differentiated. Elements of space 300 may be differentiatedvia a user (e.g., via a user of the user device 102) and/or via thearchitectural materials engine 230, for example, using machine learningtechniques.

As shown on FIG. 4, elements within a space 400 may be differentiatedwithin an image of the space 400. For example, FIG. 4 shows ceiling 402,floor 406, and wall 410, each of which may be related to a renovation(e.g., each of which may be coverable elements). Image 400 may also, oralternatively, show elements that are unrelated to a renovation of aspace, such as non-coverable windows 412, chair 404, and couch 408.Elements related to the renovation may be differentiated from oneanother and/or elements related to the renovation may be differentiatedfrom elements unrelated to the renovation. By differentiation elementsfrom one another, dimensions may be determined of one or more of theelements of a space, as described herein. For example, bydifferentiating wall 410 and floor 406, an accurate dimension may bedetermined for the wall and/or the floor. Further, by differentiatingbetween couch 408 and floor 406, an accurate dimension may be determinedfor the floor 406 (e.g., by disregarding the couch in the determinationof the floor 406).

FIG. 5 shows an example space 500 in which the elements of the space arefurther differentiated. For example, as shown on FIG. 5, wall 510,ceiling 502, and/or floor 506 may be further differentiated from oneanother. The elements unrelated to a renovation, such as couch and/orchair, may be excluded (e.g., entirely excluded) from a determination ofthe element related to a renovation. For example, the couch (of 400) isremoved (e.g., substantially removed) from floor 506 and the chair (of400) is removed (e.g., substantially removed) from wall 510. By removingelements unrelated to a renovation, a more accurate determination can bemade for the elements in which the renovation is related. For example,with couch removed from floor 506, a more accurate determination offloor 506 can be made. The dimensions of the elements may be determinedvia architectural materials engine 230. In examples, architecturalmaterials engine 230 may determine the boundaries and/or dimensions ofwall 510, ceiling 502, and/or floor 506 based on machine learningtechniques. The boundaries and/or dimensions of wall 510, ceiling 502,and/or floor 506 may be determined via other methods, for example, viauser input.

Architectural materials engine 230 may determine elements unrelated to arenovation based on machine learning techniques, as described herein.The architectural materials engine 230 may exclude unrelated elementsfrom the dimension analysis. For example, architectural materials engine230 may determine that a couch, a box, a window, etc., are not relatedto a renovation of a wall based on previous images that trained themachine learning model. The previous images used to train the model mayhave been annotated, for example, by a user to distinguish elements of aspace with other elements of the space. By training the model with theprevious images, the architectural materials engine 230 may predictfactors that differentiate one element from another element. Thus, whendetermining the dimensions of a wall in a present image, thearchitectural materials engine 230 may exclude the couch, box, and/orwindow based on previous images having a couch, box, and/or window. Bythen excluding the elements unrelated to the renovation, the dimensionsof the area may be determined for the renovation. In such a manner, theunrelated elements will not be factored into the determination of thewall, for example.

FIG. 6 shows an image of space 600 in which architectural materials arepresented upon the space (such as space 300, which did not include someof the architectural materials presented in 600). For example, room 600shows a brick façade 610 a presented upon a wall (e.g., wall 310 of room300) and/or recessed lights 603 presented upon a ceiling (e.g., such asceiling 302 of FIG. 3). In other examples, no additional architecturalmaterials may be presented, such as 610 b being the same as shown onFIG. 3.

The architectural materials presented in space 600 may be determinedbased on previously determined dimensions of the space, desiredarchitectural materials of the user, and/or machine learning techniques.In some examples, the desired architectural materials may be provided bythe user, while in other examples the architectural materials may beprovided automatically based on a style (e.g., a user's style, a currentstyle, a geographical style, etc.), a physical fit of the architecturalmaterials to the room, random selection, and so forth.

Additional elements may be presented in image 600. The additionalelements may be determined based on the dimension of a space (e.g., room300), the lighting of the space, the windows/doors of the space, etc.For example, architectural materials engine 230 may determine that afireplace may be desired in space 300. In other examples thearchitectural materials engine 230 may predicted desired furnishings ofspace, such as a table, chairs, area rug, couch, painting, etc., thatmay be provided in the space. The furnishings of the space may be basedon an input of the user, such as a user's style that is provided, anamount of tables/chairs desired, etc.

FIG. 7 shows an image of an example space in which the image is to besupplemented with annotations (FIGS. 8A, 8B). For example, space 700shows elements that include light fixture 750, ceiling 752, wall 754,television 756, couch 758, and floor 760. As described herein, some ofthe elements in space 700 may be related to a renovation, and some ofthe elements in space are unrelated to a renovation.

Space 700 shows a reference object 780. Reference object 780 may be usedto assist in the determination of dimensions of space 700. Referenceobject 780 may be an item of a known size. Reference object 780 may beof adequate size such that the known size can be differentiated fromsizes of one or more elements within space 700. For example, if the sizeof the reference object 780 is too small (e.g., too far away from thecamera to be accurately resolved), the accuracy and/or precision of thedimension measurements of elements within the space 700 may be reduced.The reference object 780 may be a standard object (e.g., with known sizeand/or shape) or the reference object 780 may be a non-standard object.If the reference object 780 is a non-standard object, the user may input(e.g., manually input) the size and/or shape of the object. If thereference object 780 is a common item (e.g., having a standard dimensionand/or shape), user device 102 and/or materials modelling device 202 maydetermine the dimension and/or shape of the rejection object 780. Theuser can select (such as via a drop-down menu) the identity and/or shapeof the object. In such examples, user device 102 and/or materialsmodelling device 202 may retrieve the reference object's dimensions froma database containing the size and/or shape attributes of known objectssimilar to the reference object 780. By knowing the size and/or shape ofthe reference object 780, the known dimensions and/or shape of thereference object 780 may be used to determine (e.g., estimate) one ormore elements of the space 700, including the entire space, one or morewalls, the ceiling, the floor, furniture, decorations, windows, etc.

Elements in an image (such as image 700) may be annotated, for example,by a user and/or by the architectural materials engine 230. The user mayannotate the elements when training the architectural materials engine230 in some examples. The user may also, or alternatively, annotate theelements when submitting an image (e.g., image 700) for a room dimensionprediction, an architectural materials prediction, etc. FIG. 8A shows anexample legend listing annotations associated with space 800, depictedin FIG. 8B. For example, element 850 is a lighting fixture in FIG. 8Band is annotated as a ceiling object in FIG. 8A. Element 852 is aceiling in FIG. 8B and is annotated in FIG. 8A as ceiling—other. Element856 is a television in FIG. 8B and is annotated as a wall—glass in FIG.8A. Element 860 is a floor in FIG. 8B and is annotated as a floor inFIG. 8A. By annotating the elements within a room, the dimensiondeterminations of the elements within the room (including the roomitself) may be more accurate. For example, by annotating 850 as aceiling object (e.g., a light), the overall ceiling dimension may bereduced by the size and quantities of the light object located on theceiling. Because light fixtures may not use the same architecturalmaterials used in renovating a ceiling (e.g., drywall), in reducing theoverall ceiling dimension by the size and quantities of the lights, anaccurate determination of architectural materials (e.g., ceilingmaterials) for the ceiling may be determined.

An image may be focused on a particular portion (e.g., surface) of aspace. For example, an image may be focused on a particular surface of aspace if the particular surface of the space is the only surface of thespace to be renovated. By focusing on a particular surface of the space,a more accurate dimension determination may be made for the particularsurface of the space. For example, by focusing on a particular surfaceof a space, a larger image of the particular surface of the space may beprovided. A larger image of the surface may include additional pixels ofthe surface, compared to a smaller image of the surface of the space.Additional pixels may provide a more accurate determination, as thepixels may be enlarged to be used as reference objects, for example. Byfocusing on a particular surface of an image, unrelated elements beexcluded from the image, which may result in a more accurate dimensionanalysis as the potential for confusion of unrelated and relatedelements may be reduced.

FIG. 9 shows an image of an example space 900 in which the image is tobe supplemented with annotations (FIGS. 10A, 10B). FIG. 9 shows an imagefocused on an example ceiling 902 of a space 900. The ceiling 902includes multiple light fixtures 904. Although FIG. 9 focuses on ceiling902 of space 900, FIG. 9 shows other surfaces of space 900, such as wall906 and windows 908.

FIG. 10A shows an example legend listing annotations associated withroom 1000, depicted in FIG. 10B. In particular, FIG. 10A shows a legendof the annotated elements shown on FIG. 10B. For example, element 1002is a ceiling in FIG. 10B and is annotated as a ceiling object in FIG.10A. Element 1004 is a light fixture in FIG. 10B. and is annotated as aceiling—other in FIG. 10A. Element 1006 is a surface of a wall in FIG.10B and is annotated as a wall—drywall in FIG. 10A. Element 1008 is awindow in FIG. 10B and is annotated as wall—glass in FIG. 10A. Asdescribed herein, the annotations of the space provide for a moreaccurate determination of the space. For example, by determining theelements that are related to a renovation and the elements that areunrelated to the renovation, a determination may be performed on onlythe related elements.

FIG. 11 shows an example method 1100 for determining architecturalmaterials based on an image of a room (such as room 300, shown on FIG.3). At 1110, image data of a space may be received. The image data maybe of a room (e.g., an entire room, a surface of a room), etc. The imagedata may be received at a materials modelling device having anarchitectural materials engine. The materials modelling device mayreceive the image from a user device, a camera, a training device, etc.,as described herein. The image may be annotated. For example, the imagemay be annotated so that the ceiling, floor, walls, couch, windows,etc., are differentiated. A reference object may be placed in the room.

At 1120, measuring rules may be executed. The measuring rules may beexecuted based on a model, such as a machine learning model. Themeasuring rules may provide estimated dimensions of the room, forexample, estimated dimensions of a wall, ceiling, and/or floor of aroom. The estimated dimensions may be based on information provided tothe architectural materials engine. For example, the estimateddimensions may be based on previous images and actual information (e.g.actual dimensions) provided to the architectural materials enginerelating to the previous images while training the engine. The estimateddimensions may be based on a relationship with the actual dimensions.The estimated dimensions of the space may be based on (e.g., only basedon) elements related to the renovation of the space. For example, theestimated dimensions of a space may be based on a wall, ceiling, and/orfloor to be renovated. The estimated dimensions of the space may not bebased on unrelated elements of a room, such as lighting fixtures,couches, windows, etc. For example, the dimensions of a window on a wallmay be subtracted from the overall dimensions of the wall.

At 1130, a type and/or quantity of the of the architectural materialsmay be determined. The type and/or quantity of the architecturalmaterials may be provided based on input provided by the user. Forexample, a user may indicate that they desire recessed lighting, oakflooring, brick façade, etc. The user may further indicate where theywould like the architectural materials placed within the space. Based onthis input, the materials modelling device may determine the quantityand/or cost of the architectural materials used, for example, based onthe dimensions estimated in 1120. The quantity and/cost of thearchitectural materials may be determined based on the placement of thearchitectural materials, the type of the architectural materials used,as well as other factors. In addition to, or alternatively, the typeand/or quantity of the architectural materials to be used may bedetermined (e.g., automatically determined) via materials modellingdevice. For example, the materials modelling device may predictplacements of the architectural materials. In examples, the materialsmodelling device may predict placements of the architectural materialsbased on contemporary styles, geographic styles, styles of owners ofdifferent ages, etc. In examples machine learning rules may be used todetermine potential types, quantities, locations, etc., of architecturalmaterials.

At 1140, an image of the space may be displayed. The image of the spacemay be displayed in different phases of the predicted design and/orredesign. For example, an image of the space may be displayed prior to apotential design and/or redesign. One or more images of the space may beprovided in which the proposed design/redesign is shown during theconstruction process and/or after the proposed design/redesign iscomplete. The user may be provided with capabilities to change one ormore elements designed/redesigned in the room. For example, the user mayuse user device to change a proposed brick façade to drywall.

The image of the space may provide dimensions of the space. Thedimensions may be based on different elements of the room. For example,the image may display the dimensions of the floor, ceiling, wall(s),etc. of the room. The dimensions may exclude unrelated elements, such ascouches, chairs, boxes, tables, etc. that are displayed in the image.

The image of the space may also contain data about the physical locationof a space, time of day, date, etc. The data may be used to determine acategory (e.g., size) of a renovation project. For example, based on thedata it may be determined if a renovation project is a small project, alarge project, etc. The category of the project may be provided to theuser device. As described herein, the category of the project may beused by suppliers of architectural materials and/or service providersassociated with the architectural material. For example, a particularsupplier and/or service provider may be used based on the category ofthe project.

At 1150, the user device may display to the user the type and/orquantity of the architectural materials to be used in the proposeddesign/redesign. Additionally, or alternatively, the cost of theproposed architectural materials, the average time for completion of thedesign/redesign, etc., may be provided to the user.

An Appendix is provided at the end of the Drawings. The Appendixincludes additional flow charts that further describe aspects of theconcepts described herein. For example, the Appendix includes a Map andFactory Cut method, a Map and On-Side Cut method, a Map and Plan method,a Map and See method, and a Map and See and Hear method.

While the invention has been described with respect to specific examplesincluding presently preferred modes of carrying out the invention, thoseskilled in the art will appreciate that there are numerous variationsand permutations of the above described systems and techniques. It is tobe understood that other embodiments may be utilized and structural andfunctional modifications may be made without departing from the scope ofthe present invention. Thus, the spirit and scope of the inventionshould be construed broadly as set forth in the appended claims.

1. A computer-implemented method for designing a real-world spacecomprising: receiving image data for an image of the real-world spacecomprising a surface that is modifiable via an architectural material;executing measuring rules for determining estimated real-worlddimensions of the surface that is modifiable via the architecturalmaterial based on the received image data, the estimated real-worlddimensions comprising at least two of a length, width, or height;determining a quantity of the architectural material for covering thesurface that is modifiable via the architectural material based on theestimated real-world dimensions; and displaying the determined quantityof the architectural material and a modified image of the real-worldspace in which the surface is covered with the architectural material;wherein the executing and the determining are performed using one ormore processors.
 2. The computer-implemented method of claim 1, furthercomprising: receiving prior image data for images of other real-worldspaces comprising other surfaces modifiable via architectural materials;estimating real-world dimensions of the other surfaces based on initialmeasurement rules; receiving real-world actual dimensions of the othersurfaces; and generating the measuring rules for determining estimatedreal-world dimensions of the surface of the real-world space bymodifying the initial measurement rules based on the estimatedreal-world dimensions of the surfaces and the actual real-worlddimensions of the surfaces.
 3. The computer-implemented method of claim2, wherein the initial measuring rules are generated based on arelationship between the estimated real-world dimensions and the actualreal-world dimensions of the surfaces.
 4. The computer-implementedmethod of claim 1, wherein the estimated real-world dimensions of thesurface of the real-world space are based on a reference object beingplaced in the space, the reference object having a known size andproviding a spatial perspective to the image data for the image.
 5. Thecomputer-implemented method of claim 1, wherein the estimated real-worlddimensions of the surface of the real-world space are based on a user'sannotation of the real-world space; and wherein the user's annotation ofthe real-world space comprises the user differentiating two or moreelements of the real-world space, and the two or more elements of thereal-world space being comprised of a ceiling, wall, floor, fixture,window, door, furniture, or decoration within the space. 6-7. (canceled)8. The computer-implemented method of claim 1, further comprising:executing, for the image data, differentiating rules to differentiateelements of the image into coverable elements, non-coverable elements,and concealing elements, wherein the coverable elements include thesurface that is modifiable via an architectural material;
 9. Thecomputer-implemented method of claim 8, wherein the coverable elementscomprise a representation of at least one of a ceiling, a wall, or afloor; the non-coverable elements comprise a representation of at leastone of a window or a door; and the concealing elements comprise arepresentation of at least one of a piece of furniture or a decoration.10. The computer-implemented method of claim 8, wherein the modifiedimage of the real-world space is further based on the execution of thedifferentiating rules; and wherein the determination of the quantity ofthe architectural material is further based on a recognition of at leastone of the concealing elements concealing at least a portion of the atleast one of the coverable elements.
 11. (canceled)
 12. Thecomputer-implemented method of claim 1, wherein the determinations ofthe estimated real-world dimensions of the surface of the real-worldspace are further based on an estimated reverberation time. 13.(canceled)
 14. The computer-implemented method of claim 1, furthercomprising: determining a pixel-to-length ratio of pixels disposedwithin the image data for the image of the real-world space; anddetermining the estimated real-world dimensions of the surface of thereal-world space based on the pixel-to-length ratio.
 15. (canceled) 16.The computer-implemented method of claim 1, further comprising:determining a calculated cost of the quantity of the architecturalmaterial; and displaying the calculated cost.
 17. Thecomputer-implemented method of claim 1, wherein the modified image ofthe real-world space comprises the determined quantity of thearchitectural material being presented upon the surface of thereal-world space. 18-34. (canceled)
 35. A system for designing areal-world space comprising: one or more processors configured to:receive image data for an image of the space comprising a surface thatis modifiable via an architectural material; execute measuring rules fordetermining estimated real-world dimensions of the surface that ismodifiable via the architectural material based on the received imagedata, the estimated real-world dimensions comprising at least two of alength, width, or height; determine a quantity of the architecturalmaterial for covering the surface that is modifiable via thearchitectural material based on the estimated real-world dimensions; anddisplay the determined quantity of the architectural material and amodified image of the real-world space in which the surface is coveredwith the architectural material. 36-51. (canceled)
 52. Acomputer-implemented method for designing a real-world space comprising:receiving image data for an image of the real-world space; executing,with one or more processors, differentiating rules for the image data todifferentiate elements of the image into coverable elements,non-coverable elements, and concealing elements; and displaying, withthe one or more processors, a modified image of the real-world space inwhich at least one of the coverable elements is covered with a selectedarchitectural material based on the execution of the differentiatingrules.
 53. The computer-implemented method according to claim 52,further comprising: executing measuring rules for determining estimatedreal-world dimensions of the at least one of the coverable elementsbased on the received image data; wherein the determination of thequantity of the architectural material is further based on a recognitionof at least one of the concealing elements concealing at least a portionof the at least one of the coverable elements.
 54. Thecomputer-implemented method of claim 53, further comprising: receivingprior image data for images of other real-world spaces comprising othersurfaces modifiable via architectural materials; estimating real-worlddimensions of the other surfaces based on initial measurement rules;receiving real-world actual dimensions of the other surfaces; andgenerating the measuring rules for determining estimated real-worlddimensions of the surface of the real-world space by modifying theinitial measurement rules based on the estimated real-world dimensionsof the surfaces and the actual real-world dimensions of the surfaces;and wherein the initial measuring rules are generated based on arelationship between the estimated real-world dimensions and the actualreal-world dimensions of the surfaces.
 55. (canceled)
 56. Thecomputer-implemented method of claim 53, wherein the estimatedreal-world dimensions of the surface of the real-world space are basedon a reference object being placed in the space, the reference objecthaving a known size and providing a spatial perspective to the imagedata for the image.
 57. The computer-implemented method of claim 52,wherein the elements of the image are further differentiated based on auser's annotation of the real-world space; and wherein the two or moreelements of the real-world space being comprised of a ceiling, wall,floor, window, door, furniture, or decoration within the space. 58.(canceled)
 59. The computer-implemented method of claim 52, wherein thearchitectural material is a flooring material.
 60. Thecomputer-implemented method of claim 52, wherein a type of thearchitectural material is based on a selected type selected by a user.